package com.mcc.app.productionMat.service;

import java.util.List;

import com.mcc.app.productionMat.domain.RawMaterialConsumption;
import com.mcc.app.productionMat.domain.RawMaterialCostAnalysis;

/**
 * 原料成本分析Service接口
 *
 * @author gxy
 * @date 2025-03-21
 */
public interface IRawMaterialCostAnalysisService {

    /**
     * 查询原料成本分析
     *
     * @param id 原料成本分析ID
     * @return 原料成本分析
     */
    RawMaterialCostAnalysis selectRawMaterialCostAnalysisById(Long id);

    /**
     * 查询原料成本分析列表
     *
     * @param rawMaterialCostAnalysis 原料成本分析
     * @return 原料成本分析集合
     */
    List<RawMaterialCostAnalysis> selectRawMaterialCostAnalysisList(RawMaterialCostAnalysis rawMaterialCostAnalysis);

    /**
     * 新增原料成本分析
     *
     * @param rawMaterialCostAnalysis 原料成本分析
     * @return 结果
     */
    int insertRawMaterialCostAnalysis(RawMaterialCostAnalysis rawMaterialCostAnalysis);

    /**
     * 修改原料成本分析
     *
     * @param rawMaterialCostAnalysis 原料成本分析
     * @return 结果
     */
    int updateRawMaterialCostAnalysis(RawMaterialCostAnalysis rawMaterialCostAnalysis);

    /**
     * 删除原料成本分析信息
     *
     * @param id 原料成本分析ID
     * @return 结果
     */
    int deleteRawMaterialCostAnalysisById(Long id);

    /**
     * 批量删除原料成本分析
     *
     * @param ids 需要删除的原料成本分析ID
     * @return 结果
     */
    int deleteRawMaterialCostAnalysisByIds(Long[] ids);

    RawMaterialCostAnalysis selectRawMaterialCostAnalysisByCond(RawMaterialCostAnalysis rawMaterialCostAnalysis);
}
